package com.huashi.dealer.modular.business.balance.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 打款单列表返回VO
 *
 * @author 谭陈强
 * @since 2025-08-18
 */
@Data
@Schema(description = "打款单列表返回VO")
public class BalanceApplyListVo {

    @Schema(description = "申请ID")
    private Long balanceApplyId;

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "用户昵称")
    private String nickName;

    @Schema(description = "申请金额")
    private BigDecimal money;

    @Schema(description = "申请前余额")
    private BigDecimal beforeBalance;

    @Schema(description = "申请前返利")
    private BigDecimal beforeRebate;

    @Schema(description = "申请前核销")
    private BigDecimal beforeWriteoff;

    @Schema(description = "凭证图片")
    private List<String> images;

    @Schema(description = "申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime balanceTime;

    @Schema(description = "审核状态：10-待审核，20-审核通过，30-驳回，40-已打款")
    private Integer balanceStatus;

    @Schema(description = "审核状态文本")
    private String balanceStatusText;

    @Schema(description = "驳回原因")
    private String rejectReason;

    @Schema(description = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime auditTime;

    @Schema(description = "审核人ID")
    private Long salesmanStoreUserId;

    @Schema(description = "审核人姓名")
    private String salesmanStoreUserName;
}
